Contemporary data processing activities are frequently distributed among a number of independent computer systems that use a communication fabric such as a local- or wide-area network to coordinate their operations. This model of data processing is generally more complex and somewhat less efficient than older arrangements where a complete, clearly-defined processing operation occurs at a single system and a “finished” data product may be transmitted to another location. In a distributed system, it is not uncommon for portions of closely-linked processing sequences to occur on different systems, with both partially-processed data and executable code passing between the systems over a communication link.
Distributed data processing services (also known as “web services”) can simplify application integration and implementation of business processes. They provide an extensible framework for application-to-application (“A2A”) integration. The simplification of the implementation of business processes is achieved in part by defining standardized mechanisms to describe, publish, locate and communicate with other applications. Web service registries provide a systematic way to publish and to find web services that may be suitable for the development of distributed applications to implement business processes. Web service technologies such as that described in the Universal Description Discovery & Integration (“UDDI”) specification by the Organization for the Advancement of Structured Information Standards (“OASIS”) (current version 3.0.2, published Oct. 19, 2004) allow the publishing and searching to occur in a standardized way.
Effective management of changes is a critical component of a successful web services infrastructure. Since a distributed application may combine services from a variety of sources (including sources not under the management or administration of the application's developer), the application may be vulnerable to changes in the underlying services. For example, if the provider of a service that the application relies upon makes an incompatible change to the service, the application itself may cease to function correctly. Techniques to learn about web service changes can help avoid application downtime, or at least streamline the process of troubleshooting an application failure that results from a change to an underlying web service.